#include "Geometry.h"

namespace OpenDrive {
	Geometry::Geometry(float s, const Point &startPosition, float heading, float length) :s(s), startPosition(startPosition), heading(heading), length(length){}

	Geometry::~Geometry(){}

	void Geometry::calPosition(float step){
		printf("Geometry calPosition()\n");
	}

	float Geometry::getHeading() const{
		return heading; 
	}
	float Geometry::getLength() const{ 
		return length; 
	};
	Point& Geometry::getStartPosition() { 
		return startPosition; 
	}
	void Geometry::addPoint(const Point &p) { 
		points.push_back(p); 
	}
	void Geometry::setPoints(const std::vector<Point> &p) { 
		points = p; 
	}
	std::vector<Point>& Geometry::getPoints() { 
		return points; 
	}

	float Geometry::getS() const { 
		return s; 
	}
}